音声データのsampling rateを変えたい
librosa.resample(y, *, orig_sr, target_sr, ...)
Resample a time series from orig_sr to target_sr
code:py
>> from scipy.io import wavfile
>> from ttslearn.util import example_audio_file
>> import numpy as np
>> sampling_rate, audio_array = wavfile.read(example_audio_file())
>> sampling_rate
48000
>> audio_array.shape
(153120,)
>> audio_array.dtype # 注意:intでない場合もある
dtype('int16')
>> # 48000 -> 16000 にしたい
>> resampled = librosa.resample(audio_array.astype(np.float32), orig_sr=sampling_rate, target_sr=16000) # np.int16のままだとエラー(floatを要求)
>> resampled.shape
(51040,)
>> resampled.dtype
dtype('float32')
>> import sounddevice as sd
>> sd.play(resampled.astype(np.int16), 16000) # np.int16にせずfloatのままだと、音が大きい・めちゃくちゃ割れる